\begin{frame}
\frametitle{Des Commandes et des Tests}
\begin{center}
\includegraphics[scale=0.61]{horloge}
\end{center}
\end{frame}

\begin{frame}[fragile]
\frametitle{Le système de commande}

\begin{itemize}
\item {Builtins}
\item {Plugins}
\begin{itemize}
\item \uncover<2->{\textit{Peuvent utiliser l'API}}
\item \uncover<2->{\textit{Ajout simple et dynamique}}
\end{itemize}
\end{itemize}

\end{frame}

% ---------------------------

\begin{frame}[fragile]
\frametitle{Le système de commande : Les Plugins}

Structure minimal d'un \textit{Plugin} :
\begin{verbatim}
|-- <plugin_name>/
|   | -- main.py
|   | -- __init__.py
\end{verbatim}

\uncover<2->{Le fichier \textit{main.py} contient au minimum un fonction \textit{run(argv)}.}

\end{frame}

% ---------------------------

\begin{frame}[fragile]
\frametitle{Le système de commande : Les Plugins}

Structure minimal d'un \textit{Plugin} :
\begin{verbatim}
|-- <plugin_name>/
|   | -- main.py
|   | -- __init__.py
\end{verbatim}

Le fichier \textit{main.py} contient au minimum un fonction \textit{run(argv)}.

Stockage des \textit{Plugins} :
\begin{verbatim}
|-- spass/plugins/commands/
|   | -- <plugin_1>
|   | -- <plugin_2>
|   | -- ...
|   | -- <plugin_n>
\end{verbatim}

\end{frame}

% ---------------------------

\begin{frame}[fragile]
\frametitle{Les Tests}

\begin{block}{Besoins}
\begin{itemize}
\item Environnement sécurisé
\item Environnement personnalisable
\item Exécution conditionnelle
\item Génération de rapports
\end{itemize}
\end{block}

\end{frame}

% ---------------------------

\begin{frame}[fragile]
\frametitle{Les Tests : structure}

Structure minimal d'un \textit{script de tests} :
\begin{verbatim}
|-- <test_name>/
|-- 1_<test1>.py
|-- 1_<test1>.d/
|   |-- 1_<test3>.py
|   |-- ...
|-- 2_<test2>.py
|-- ...
\end{verbatim}
\end{frame}

% ---------------------------

\begin{frame}[fragile]
\frametitle{Les Tests : structure}

Structure minimal d'un \textit{script de tests} :
\begin{verbatim}
|-- <test_name>/
|-- 1_<test-1>.py
|-- 1_<test-1>.d/
|   |-- 1_<test-1.1>.py
|   |-- ...
|-- 2_<test-2>.py
|-- ...
\end{verbatim}

Contenu minimal d'un \textit{fichier de test} :
\begin{verbatim}
def fixture(test_dir):
   return fix_ret 
def run(test_dir, fix_ret):
   return test_ret
\end{verbatim}

\end{frame}

% ---------------------------

\begin{frame}[fragile]
\frametitle{Les Tests : un exemple}

\begin{verbatim}
|-- c_test_check/
|   |-- 1_untar.py
|   |-- 1_untar.d/
|   |   |-- 1_compil.py
|   |   |-- 1_compil.d/
|   |   |   |-- 1_mem_check.py
|   |   |   |-- 2_gcover.py
|   |   |-- 2_metrics.py
\end{verbatim}

\end{frame}
